import { MessageBox, Message } from 'element-ui';
import Cookies from 'js-cookie';
import { sessionStorageRemove } from '@/utils/tools';
import { quit } from '@/utils/urlHandle';
import i18n from '@/lang/index';

/* 业务状态码处理 */
export const businessStatusCode = (result: any) => {
  // console.log("业务状态码处理 >>>>>>>>> : ", result);
  switch (result.code) {
    default:
      MessageBox.alert(result.message, i18n.t('提示'), {
        type: 'error',
      });
  }
};

/* 请求状态码处理 */
export const httpStatusCode = (result: any) => {
  switch (result.status) {
    case 404:
      MessageBox.alert(i18n.t('请刷新页面重试或联系管理员'), i18n.t('系统未知错误'), {
        type: 'error',
      }).then(() => {});
      break;

    case 401:
      MessageBox.alert(i18n.t(`登录失败！`), i18n.t('请登录'), {
        type: 'error',
      }).then(() => {
        Cookies.set('User', '');
        sessionStorageRemove('UserMenus');
        quit();
      });
      break;

    case 400:
      if (result.data && result.data.message && result.data.code === 400) {
        MessageBox.alert(result.data.message, i18n.t('提示'), {
          type: 'error',
        }).then(() => {});
      } else {
        MessageBox.alert(i18n.t(`请联系管理员查看原因！`), i18n.t('系统未知错误'), {
          type: 'error',
        }).then(() => {});
      }
      break;

    default:
      MessageBox.alert(i18n.t('请刷新页面重试或联系管理员'), i18n.t('系统未知错误'), {
        type: 'error',
      }).then(() => {});
  }
};

export const statusCode = {
  2000: '成功',
  // 服务器熔断处理
  50001: '请求网络异常',
  40001: '请求参数异常',
  90001: 'post请求异常',
  90002: 'file请求异常',
  90003: 'get请求异常',
  90004: '下载请求异常',
};
